System and method for matching and assembling records

ABSTRACT

A system and method for matching and assembling records is provided. One embodiment of the invention assembles records by applying a method for grouping records based on matching fields, assembling a new record as a composite of the matched records, and then repeating the grouping, matching and assembly steps in a cascade where the matching, grouping and assembly steps are modified as a function of the cascade step and the assembled records created in earlier steps. This Abstract is provided for the sole purpose of complying with the Abstract requirement rules that allow a reader to quickly ascertain the subject matter of the disclosure contained herein. This Abstract is submitted with the explicit understanding that it will not be used to interpret or to limit the scope or the meaning of the claims.

REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.10/367,902, filed Feb. 27, 2003, which is incorporated herein byreference in its entirety.

FIELD OF THE INVENTION

The present invention generally relates to data integration systems.More particularly, the invention concerns a system and method foridentifying similarities and differences between different data.

BACKGROUND OF THE INVENTION

The Information Age brings with it new terms, such as “informationoverload” and “data overload.” The Internet, and other sources, nowprovides an almost endless amount of text, or data on virtually anysubject. The problem then becomes one of data management: how toorganize the data in a meaningful way. Depending upon the requirement,the data may be organized based on any number of different criteria,with the number of different organizational criteria only limited by thenumber of different requirements.

Conventional methods for organizing data in the form of referencesusually match the references from multiple sources and then combinethem. However, this method results in a data integration problem. Thisis because conventional matching techniques depend on the existence of acommon referenced identifier, such as the name of a person, in therecords being matched before using various techniques to determinewhether the two records refer to the same entity.

Generally, record linkage techniques assume the existence of commonexplicit identifiers, particularly names, and the techniques then focuson trying to match one named record in one database to another similarlynamed record in another database. However, if the different recordsrefer to an implicit entity, these techniques are not effective. Forexample, references citing the same publication in different records donot have an explicit identifier. Additionally, conventional recordlinkage techniques are poorly suited for matching records that arederived from conventional information extraction methods.

Therefore, there exists a need for a system and method for organizingdata in a reliable and effective manner.

SUMMARY OF THE INVENTION

In order to overcome the deficiencies with known data organizationsystems, a method and system for matching and assembling data isprovided. Briefly, the present invention can organize data even when thedata is not structured, or when parts of the data are unidentified, orwhen there is no common identifier between different pieces of data. Oneembodiment of the present invention can overcome missing or inaccurateinformation in the original data sources, and can even handle opticalcharacter recognition errors resulting from inaccurate documentscanning.

Briefly, one embodiment of the present invention comprises a method fororganizing data that is comprised of a plurality of records that containat least one field. Similar records are matched, and a new record isassembled, with the new record including parts of the matched records.The new records are then matched. This process may be repeated severaltimes.

One feature of the present invention is that the new record may containdata that is a combination of various elements of the different fieldsof the matched records. Another feature of the present invention is thatinferred data may be added to the new records, where the inferred datais obtained during the matching process.

These and other features and advantages of the present invention will beappreciated from review of the following detailed description of theinvention, along with the accompanying figures in which like referencenumerals refer to like parts throughout.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a list of citation records to be assembled according to themethods of the present invention;

FIG. 2 is an assembled citation of the list provided in FIG. 1;

FIG. 3 is a flow diagram of a system for assembling records constructedin accordance with one embodiment of the present invention;

FIG. 4 is a flow diagram of a data preprocessing method constructed inaccordance with one embodiment of the present invention;

FIG. 5 is a flow diagram of a match scorer method constructed inaccordance with one embodiment of the present invention;

FIG. 6 is a flow diagram of a matching method constructed in accordancewith one embodiment of the present invention;

FIG. 7 is a flow diagram of a grouping method constructed in accordancewith one embodiment of the present invention;

FIG. 8 is a flow diagram of a set of heuristic rules constructed inaccordance with one embodiment of the present invention;

FIG. 9 is a flow diagram of an assembly method constructed in accordancewith one embodiment of the present invention;

FIG. 10 is a flow diagram of an affiliation profiling method constructedin accordance with one embodiment of the present invention;

FIG. 11 is a list of citation records to be assembled according toanother method of the present invention; and

FIG. 12 is a complete “expert profile” of an author using the listprovided in FIG. 11.

It will be recognized that some or all of the Figures are schematicrepresentations for purposes of illustration and do not necessarilydepict the actual relative sizes or locations of the elements shown.

DETAILED DESCRIPTION OF THE INVENTION

In the following paragraphs, the present invention will be described indetail by way of example with reference to the attached drawings.Throughout this description, the preferred embodiment and examples shownshould be considered as exemplars, rather than as limitations on thepresent invention. As used herein, the “present invention” refers to anyone of the embodiments of the invention described herein, and anyequivalents. Furthermore, reference to various feature(s) of the“present invention” throughout this document does not mean that allclaimed embodiments or methods must include the referenced feature(s).

Briefly, one embodiment of the present invention comprises a method forassembling data that is comprised of a plurality of records that containat least one field. Similar records are matched, and a new record isassembled, with the new record including parts of the matched andassembled records. The new records are then matched. This process may berepeated several times. One feature of the present invention it that itcan organize data even when the data is not structured, or when parts ofthe data are unidentified, or when there is no common identifier betweendifferent pieces of data.

To aid in the description of the present invention, a set of definitionsis now provided. Unless defined otherwise, all technical and scientificterms used herein have the same meaning as is commonly understood by oneof skill in the art to which this invention belongs. In event thedefinition in this section is not consistent with definitions elsewhere,the definitions set forth in this section will control.

As used herein, “data” refers to information in any form. For example,data may be factual information, or a general expression of information,or a gathered body of facts (such as a publication), or information thathas been translated into a form that is more convenient to move orprocess (such as information obtained or inferred after one or moremethod steps of the present invention).

As used herein, “record(s)” refers to a data type containing one or morefields. For example, a record might be a publication reference, wherethe fields might be author name, publication title, journal name, andyear of publication.

As used herein, “field(s)” refers to a component of a record that refersto a particular type of data. For example, an author name, a publicationtitle, a journal name, a year of publication are all fields.

As used herein, “multidimensional record(s)” refers to a record withmore than one field.

As used herein, “heterogeneous record(s)” refers to a record that hasdifferent structure or content format. For example, publication dataobtained from a publication describing an invention would have differentstructure and/or content from patent data obtained from a patent for theinvention issued to the author of the publication.

As used herein, “like field(s)” refers to a field found in differentrecords that contains the same type of information. For example, theinventor name field of a patent record and the author name field of apublication record are like fields, when the author is also theinventor.

As used herein, “matching” refers to a technique of the presentinvention, that determines whether two records refer to the same entity.For example, whether two references in two different publications arethe same. One method of matching of the present invention may create amatch by analyzing a set of fields in a group of records, and infer amatch even when there is no explicit common identifier between thefields or records.

As used herein, “assembly” refers to a technique of the presentinvention where matched records are combined to create a new record withadditional inferred data. For example, one method of “assembly” of thepresent invention may comprise generating a new record, one type ofwhich is called an expert profile, of an individual. Data on theindividual may be obtained from a number of publications authored by theindividual, and the expert profile would be created by sometimes addingadditional inferred data, such as the affiliation history of theindividual.

As used herein, “inferred” data is data that is generated by derivingconclusions that are not explicit in the analyzed data.

As used herein, “classification” and “categorization” refer to a methodof assigning entities into two or more classes or categories.

As used herein, “clustering” refers to a method of partitioning a set ofentities into different groups.

As used herein, “metadata” refers to new data that is about old data.The new data contains new meaning, information or other knowledge aboutthe old data.

As used herein, “heuristic” pertains to the process of gaining knowledgeor some desired result by intelligent guesswork rather than by followingsome pre-established formula (in this case, heuristic can be contrastedwith algorithmic). For example, “heuristic” describes an approach tolearning without having a hypothesis or way of proving that the resultsproved or disproved the hypothesis. That is, “seat-of-the-pants” or“trial-by-error” learning. As used herein, “heuristic” pertains to theuse of knowledge gained by experience (i.e., “using a rule-of-thumb”).As a noun, “a heuristic” is a specific rule-of-thumb derived fromexperience.

As used herein, “heuristic rules” refers to specific rules-of-thumbderived from experience and empirical data.

As used herein, “canonical form” refers to the most descriptive andcomplete description of an entity that may have many different ways ofbeing described. For example, John Walter Smith is the canonical form ofthe name variants: J. W. Smith; John W. Smith; John Smith; or J. Smith.

As used herein, “cascade” refers to a repetition of one or more steps.

As used herein, “common identifier” refers to the existence of a commonelement between two or more records. For example, citations obtainedfrom different sources may all have the name of the primary author.

As used herein, “parsing” or “rule-based parsing” refers to the processof separating a record, or multi-component field down into its componentparts. For example, a “parsed” multi-component name field is comprisedof sub-fields that include a first name, a middle name, and a last name.

One problem associated with modern-day data management is one of dataintegration. That is, how to integrate, organize and represent data in anew and meaningful way. Generally, conventional data integrationtechniques use record linkage methods that focus on a narrow range ofspecific and well-defined types of record fields, particularly standardnames, addresses and generic strings and numbers. These record linkagemethods generally use field-to-field matching techniques. However, mostrecords are not organized into well-defined record fields, and differentpublications, or other forms of data, are not organized consistently.Conventional data integration methods fail in the face of this imperfector imprecise data. Moreover, true data assembly is missing fromconventional record linkage methods.

For example, some requirements for modern-day data integration are:profiling entities such as people, institutions and products; referenceresolving; record matching; database cleansing (such as duplicateremoval); and integrating distinct data sources. Profiling is theprocess of assembling and creating detailed profiles of key entitiessuch as people, institutions, and products. Reference resolving is theprocess where bibliographic references obtained from different sourcesare matched to references citing the same material and then assembled tocreate the most complete reference citation. Record matching is theprocess where two or more records obtained from different data sourcesare matched if they refer to the same item. Duplicate removal is theprocess of identifying whether a data source contains more than oneelement of the same entity and then removing the duplicates onceidentified.

Therefore, a need exists for a method for assembling multidimensionaland/or heterogeneous records that can be applied to records even whenthe records are not necessarily structured, or when fields areunidentified or unaligned, or when there is incomplete or inaccuratedata, or when there is no common identifier between the records beingmatched.

The present invention provides a general-purpose data organizationand/or integration method that transcends simple field to field matchingand which provides, a framework for applying other domain-specifictechniques that go beyond the treatment of standards fields. One featureof the present invention uses information inferred from the actualassembly of the matched records in order to refine the matching process.The present invention provides a general framework for matching recordsand then provides true assembly of matched records that may also infernew data from the matching process.

One embodiment of the present invention matches records that may referto the same entity (such as an individual) and then assembles a newrecord that is a combination of some or all the elements of thedifferent fields of the matched records, as well as new inferred data.

Another embodiment of the present invention comprises a method thatmatches, groups and assembles records in a series or group of steps (acascade), where in each cascade step the process of matching andassembly is further refined as a consequence of information inferredfrom earlier steps.

A preferred embodiment of the present invention comprises a system formatching and assembling two or more multidimensional records that mayrepresent the same entity or may refer to a specific entity, ofinterest, even in the face of errors in the data.

Referring to FIG. 1, a group of records in the form of publicationcitations is listed, and is provided as an illustration of one, type ofproblem solved by the present invention. In this example, the goal is tomatch the records and assemble a new canonical citation thatincorporates the relevant sections of the provided records.

Each of the five records includes a number of different fields 10. Forexample, record (1) includes a field 10 that has a typographical error,“C Runciman & amp” and a field 10 of “D Wakeling.” Record (4) includes afield 10 comprising “Heap profiling of lazy functional programs.” Record(5) includes a field 10 of “April 1993.” As can be seen from the fivedifferent records, the authors' names are presented in different formatsand locations. In addition, the publication (Journal of FunctionalProgramming) is spelled out in its entirety in some of the records, butin record (3), the publication is abbreviated. Moreover, the title ofthe publication article (Heap profiling of lazy functional programs) ispositioned in different locations within each record and in record (5)the title is listed incorrectly.

Conventional record matching methods that simply perform field to fieldmatching would not be able to provide an accurate canonical citationbecause of the errors presented in the different records as well as thedifferent locations of corresponding fields 10.

However, as illustrated in FIG. 2, one embodiment of the presentinvention assembles a, canonical citation that provides complete authornames, as well as the article title, publication name, location of thearticle within the publication and the publication date.

Referring to FIG. 3, a flow diagram of a preferred embodiment of thepresent invention is provided. This embodiment of the present inventioncan assemble multidimensional and heterogeneous records through arepeating set of any one of, or a combination of, matching, grouping andassembly steps.

A preferred embodiment of the present invention is software thatcomprises machine-readable code for a general-purpose digital computer.One embodiment of the present invention may be constructed to operate ona “personal” computer, and other embodiments of the present inventionmay be constructed to operate on a computer server that would provideaccess to the invention software from multiple computers, or theInternet. The present invention may be implemented in various forms ofcomputer hardware, software or combinations thereof.

As shown in FIG. 3, the flow diagram depicts several software modulesshown as individual blocks. Each module comprises on or moremachine-readable instruction sets. It will be appreciated that thefunction performed by the individual modules may be combined into asingle module, or into other combinations of modules.

As discussed above, the software comprising the invention may be storedon a computer 15 that may be accessible over a network 20, or may bestored on one or more servers 25 that also are accessible over thenetwork 20. As defined herein, a network 20 is a group of points ornodes connected by communication paths. The communication paths may beconnected by wires, or they may be wirelessly connected. A network 20 asdefined herein can interconnect with other networks and may containsubnetworks. A network 20 as defined herein can be characterized interms of a spatial distance, for example, such as a local area network(LAN), a personal area network (PAN), a metropolitan area network (MAN),and a wide area network (WAN), among others.

To provide an overview, a preferred embodiment of the present inventionwill be described with reference to FIG. 3. First, a plurality ofrecords 30 are provided, with each record 30 containing at least onefield 10. Next, a preprocessing module 35 processes the records 30. Thevarious preprocessing steps may include parsing the records 30 intofields 10, and labeling unlabeled fields 10.

Once that is done, this specific embodiment of the invention, thencreates candidate sets 75 by way of the candidate set module 70.Generally, candidate set 75 creation saves time. This feature of theinvention does not compare every record 30, thereby saving processingtime. The candidate set module 70 creates candidate sets 75 that arecomprised of groups of records 30. The records 30 in these candidatesets 75 are compared to each other within these sets. For example, onerule used by the candidate set module 70 uses an author's last name andfirst initial to place records 30 into a candidate set 75.

Next, the match scorer module 80 compares the records 30 within acandidate set 75 to determine if the records 30 match. In a preferredembodiment match scorer module 80, field matching is used to compareindividual fields 10 of two records 30. Match scores 95 are generatedduring the field matching process. One feature of the present inventionis that co-author names are used to match records 30.

Once match scores 95 have been generated, the grouper module 130continues the processing. In a preferred embodiment of the presentinvention, heuristic rules are used to determine from the individualfield match scores 95 whether two records 30 being compared are a match.One example of a heuristic rule used by the present invention is to addall the individual match scores 95. More complex heuristic rules will bedescribed in detail below. One feature of the present invention is thatthese heuristic rules may be changed based on what type of records 30are being compared and at what stage of the processing cascade. Theoutput from the grouper module 130 are groups of records 30 that areready for assembly by the assembler module 150.

The assembler module 150 takes each group of records 30 and outputs newassembled records 165. For example, “expert profiles” may be created,containing a variety of information relating to a single author. Anothertype of new record created by the assembler module 150 may be thecreation of a complete citation record. In addition, the assemblermodule 150 may infer new data, known as metadata. For example, anaffiliation history profile may be created, or a canonical authors namemay be created, or a canonical institutional name may be created usingmetadata.

The assembled records 165 may be output, or they may be processed again,returning to the match scorer module 80, or the grouper module 130. Theprocess of analyzing records 30 through the match scorer module 80, thegrouper module 130 and the assembler module 150 is called a cascade, orcascade stage 170. One feature of the present invention is that the newassembled records 165 may be processed through repeated cascade stages170. One factor that determines the number of cascades 170 is the typeof data that is being analyzed. One feature of the present invention isthat the number of cascades 170 can be set in advance, or the cascade170 may be stopped if no more new assembled records 165 are beingcreated.

Again referring to FIG. 3, one or more records 30 are collected andforwarded to the preprocessing module 35. As defined above, the records30 may be comprised of any type of data that contain a specific numberof fields 10. For example, a record 30 might be a publication reference,where the fields 10 might be author name, publication title, journalname, and year of publication. Other examples of records 30 includepatents, articles and any other collection of data that includes fields10 as defined above.

The preprocessing module 35 analyzes the records 30 to determine if thefields 10 within each record 30 are in a form suitable for subsequentprocessing by the succeeding steps of the present invention.

Referring to FIG. 4, the preprocessing module 35 comprises severalsteps. First, in step 40, a determination is made regarding whether thefields 10 have been extracted from a record 30 of interest, known as a“source” record. In many instances, fields 10 are embedded and aredifficult to identify, requiring extraction. For example, the records 30may consist of citations that are embedded in a publication document.The present invention identifies these citations, extracts them and thencreates citation records. A rule-based parser may be employed to performthis function in field extraction step 45.

In other instances, the existing fields 10 in the source record may nothave been completely parsed, or broken down into their component partsand labeled. For example, a field 10 may be labeled “name” but thesub-fields comprising the individual name components such as first name,middle name, and last name have not been parsed out. In that instance,the fields 10 are processed by using a rule-based parser to extract thecomponent sub-fields in step 65.

For example, a record 30 may just identify the author name as Albert E.Einstein. The present invention breaks down this record 30 intosub-fields such as first name, middle name and last name.

And in other instances, not all the fields 10 in the source record havebeen labeled. For example, the “journal name” field 10 may be labeled,but other fields 10 such as author name and co-author names may not belabeled. For example, consider the author name Taylor D. W. Wilson. Isthis the case where the author is “Taylor D. W. Wilson”, or are therereally two authors, a “Taylor, D.” and a “Wilson, W.” Perhaps, duringthe OCR process the initial of the author was missed. One embodiment ofthe present invention may postulate both scenarios as plausible, andthen identify another citation record that matches this citation and ifthe name fields in that citation are properly labeled, use those labelsto infer which scenario is correct.

In this case, the field alignment step 55 is employed to label unlabeledfields. This process comprises finding a “matching target” record thathas been labeled in its entirety. A matching target record is one thathas a high score when compared to the source record. When evaluatingmatches, the present invention generates a numerical score normalizedbetween zero (0) and one (1). The value of the score obtained determineswhether the match is valid or not. What determines a high score isderived from empirical analysis of the data being organized.

Once a matching target record has been found, the field alignment step55 then pairs off labeled fields 10, if any, between the matching targetrecord and the source record. The field alignment step 55 then comparespair-wise the unlabeled fields 10 of the source record with the unpairedfields 10 of the matching target record. The field label in the matchingtarget record for which the match score is the highest is used to labelthe unlabeled field 10 of the source record. When the field alignmentstep 55 is complete all the fields 10 in the source record are labeled.

Referring to FIG. 3, the next step of the present invention isillustrated. The candidate set creator 70 partitions the records 30 intogroups, known as candidate sets 75, for subsequent processing accordingthe method of the present invention. The goal of this step is to reducethe computer computation requirements used during subsequent steps. Thecandidate set creator 70 employs rules that are dependent on the natureof the records 30 being grouped. What types of records 30 are beingorganized determines what rules for candidate set 75 creation to apply.For example, when creating an “expert profile” from publicationcitations, the field 10 being used to group records 30 are the primaryauthor names. In that instance the present invention may employ a rulethat uses the author's last name and the first letter of the author'sgiven name to group possible records 30 for assembly. In anotherexample, such as when creating candidate sets 75 for institutionalprofiles, the present invention may use the proper noun within theinstitution name to group possible records 30 for assembly. In thisexample, “Parity Computing,” “Parity Solution” and “The ParityEnterprise” will be in one candidate set 75 while “Varity Computing” and“Varity Solution” would be in another candidate set 75.

To further explain, if the records 30 are citations then the candidateset creator 70 groups all the authors with the same last name and firstinitial into their own discrete candidate set 75 for subsequentprocessing. It will be appreciated that other rules used to group therecords 30 may be employed. For example, a candidate set 75 may containonly records 30 that have the same last name and the same first initial.Or, a candidate set 75 may contain only records 30 that contain similarjournal names. Another embodiment of the present invention may useadditional fields 10 to further refine the candidate set 75 creationprocess.

The candidate sets 75 comprising groups of records 30 are thenindividually processed according to the subsequent steps of the presentinvention. As shown in FIG. 3, each candidate set 75 is processed by thematch scorer module 80.

Referring now to FIG. 5, the match scorer module 80 comparescorresponding fields 10 of all the records 30 in the candidate set 75.The comparison of the corresponding fields 10 is, performed “pair-wise.”That is, two corresponding fields 10 are compared to each other. Putdifferently, pair-wise comparisons are performed between all the records30 in the candidate sets 75. Other comparison groupings may also beemployed, such as a comparison of three, or more corresponding fields10, or records 30.

The first step of the match scorer module 80 is field identification 85.The field identification step 85 identifies the type of field 10. Forexample, field 10 types may be publication, article title, author, anddate of publication. It will be appreciated that other field 10 typesexist, and the foregoing list is meant to be exemplary, and notexclusive.

The match scorer module 80 then employs a matching method 90 to thepaired fields 10. One aspect of the present invention is that differentmatching methods 90 are used based on the field 10 type. In addition,one embodiment of the present invention also uses specific types ofmatching methods 90 depending on the cascade 170 stage. This aspect ofthe matching method 90 will be discussed in further detail below, inconnection with FIG. 6.

The matching method 90 determines a match score 95. Match scores 95 maybe numeric or Boolean. For fields 10 that contain general-purposestrings such as an article abstract, the match scorer 90 may employ avector space matching method. This method determines the similaritybetween two text strings by first representing the text strings in avector space model and then comparing the spatial proximity of thevectors representing each text string in the model. The presentinvention may use several methods for computing the spatial proximity ofthe vectors, such as the Cosine, Dice and Jacquard similarity models.The nature of the data being evaluated dictates which vector spacematching method should be employed. Generally, a vector space model is atext string representational model where a text string is represented ina high-dimensional space, in which each dimension of the spacecorresponds to a word in the text string. Therefore, a vector in thisspace can represent each text string.

For non-numeric fields 10, combinations of distance metrics such as editdistance methods are used to obtain a match score 95. Distance metricsare a class of rules and methods that are used to determine thesimilarity between two entities. The vector space matching method andedit distance matching method are examples of distance metrics.

The present invention also employs other methods to obtain a match score95 of numeric fields 10. For example, match scores 95 may be obtainedthrough comparing either absolute or relative differences between twonumeric entities. As an example, if 160 is being compared to 200, theabsolute difference is (200−160)=40, and the relative difference is(200−60)/200=0.7

For non-numeric fields 10, such as journal name, publisher name,co-authors, etc., specialized match scoring rules have been devised. Itwill be appreciated that the list of non-numeric fields 10 is extensive,and the above-listed non-numeric fields 10 are meant to be exemplary,and not exclusive.

One embodiment of the matching method 90 to obtain match scores 95 ofthe present invention is illustrated in FIG. 6. In this example, thematching method 90 is preformed to determine a co-author name. In step100, the citation records 30 containing author and co-author names areobtained. In step 105, the co-author names are determined. To performthis step the present invention obtains the fields 10 containing theco-author names and they are “paired off” in order to perform apair-wise comparison.

The number of matches obtained during the pair-wise comparison isdetermined in step 110. A match is found when two names are compatible.A compatible name is where one name is can be considered to be a variantof another. For example, John W. Smith is compatible with J. Smith butnot compatible with John T. Smith. That is, J. Smith is a variant ofJohn W. Smith, but John T. Smith is not a variant of John W. Smith.

In step 115, the match percentage is determined. The match percentage isdetermined by calculating what percentage of co-authors is common to thetwo records 30 being compared.

After the match percentage is determined, it is compared to a thresholdvalue in step 120. One aspect of the present invention is that thethreshold value is changed, depending on what stage the overall dataassembly method is in. That is, the present invention repeats some stepsand at a first pass, the threshold value may be lower, but as steps arerepeated, the threshold value will increase.

If the match percentage exceeds the currently set threshold value, thenthe record 30 containing the field 10 that met the threshold value isgiven a match score 95, and is passed onward for further processing.However, if the match percentage does not meet the currently setthreshold value, then the record 30 containing the specific field 10that failed to meet the threshold value is discarded.

Referring to FIG. 7, once the matching method 90 has been completed, theremaining matched pairs 125 of records 30, that consist of pairs ofeither fields 10 or records 30, are then grouped using a grouping method130. The grouping method 130 of the present invention employs a set ofheuristic rules 200 that depend on the cascade stage 135 and record type140. This will be explained below with reference to FIG. 8. Once theheuristic rules 200 have been applied, an evaluation step 145 determinesif the pair of records 30 are candidates for grouping. The output ofgrouping method 130 is a set of groups that contain records 30 that willbe subsequently assembled. It will be appreciated that other heuristicrules 200 may be applied at other times during the data assembly methoddescribed herein.

The grouping method 130 of the present invention groups the records 30together for assembly into a more complete record 30. For example,during the creation of an “expert profile” of an author, if two authorswere identified by their match scores 95 during the matching method 90,the grouping method 130 may create a new target expert that combines andassembles the fields 10 of the two author's records 30. One feature ofthe grouping method 130 of the present invention is that it takes intoaccount the match scores 95 generated in the matching method 90 andpostulates candidate groups by a set of rules that make use of the matchscores 95. In a preferred embodiment of the present invention, the rulesare modified at each cascade 170 and take into account new informationobtained by prior cascades 170. Cascading 170 will be discussed indetail below.

Referring, now to FIG. 8, a flow diagram is presented, illustrating onetype of grouping method employing one set of heuristic rules 200 of thepresent invention. One feature of the computer software constructedaccording to present invention is that it uses heuristic rules 200 thatemploy specific rules-of-thumb derived from experience and empiricaldata. That is, the software constructed according to the presentinvention achieves a desired result (in this case, grouping datarelating to an author) by intelligent guesswork rather than by followingsome pre-established formula.

For example, the flow diagram of FIG. 8 illustrates that the heuristicrules 200 used to group the data of interest evaluates “strong” listsand “weak” affiliations. However, the definition of “strong” and “weak”change with each stage of data analysis. That is, one feature of thepresent invention is that as the data, analysis is repeated, insuccessive cascades 170, the definition of “strong” and “weak” changes,thereby changing the ultimate data output.

The terms “strong” and “weak” are used to evaluate the match scores 95when two fields 10 are compared. When the match score 95 of two fields10 being compared is high, the fields 10 are considered to be “strongly”compatible and if the score is low, the fields 10 are considered to be“weakly compatible. What is a high match score and what is a low matchscore changes with the cascade 170. The actual values are determined apriori from empirical analysis of the data being organized. Generally,match scores 95 are normalized between 0 and 1. Thus, a value closer to1 is “strong” and, a value closer to 0 is “weak.” For example, in thecase of compatibility of two co-author fields 10, the present inventiondetermines that 0.8 is a “strong” compatibility and 02 is a “weak”compatibility. However, these numbers may be changed during subsequentcascades 170.

It will be appreciated that other heuristic rules 200 constructedaccording to the present invention exist, and the sample illustrated inFIG. 8 is exemplary, and not exclusive.

FIG. 8 describes a set of heuristic rules 200 for that may be used todetermine whether data in the form of two records 30 can be grouped forassembly into an “expert profile.” In this case, the “expert profile”contains information relating to an author, such as his/her full name,where he/she currently works (primary affiliation), where he/she hasworked in the past (entire affiliation), the names of any co-authors,the names of the journals that the author has been published in, and thetitles of any papers published by the author. An example of an expertprofile is illustrated in FIG. 12. Other types of profiles may beassembled, containing other types of information. For example, otherprofiles may comprise institution profiles, drug profiles, productprofiles, and invention profiles.

The first step 205 of the heuristic rules 200 determines whether thenames present in the two records 30 are compatible. As discussed above,a compatible name is where one name is can be considered to be a variantof another. For example, John W. Smith is compatible with J. Smith butnot compatible with John T. Smith. If the names in the two records 30are compatible, the two records 30 are grouped and processingterminates. If the names in the two records 30 are not compatible, thetwo records 30 cannot be grouped and processing continues.

In step 210, the software checks to see if the co-author list containedin the two records 30 is “strongly” compatible. If yes, the two records30 can be grouped and processing terminates. If no, the two records 30cannot be grouped and processing continues.

In step 215, the software checks to see whether the primary affiliationhistories are “strongly” compatible. If the primary affiliationhistories of the two records 30 are “strongly” compatible, the tworecords are grouped. If no, the two records 30 cannot be grouped andprocessing continues.

In step 220, the software checks to see if the entire affiliationhistory is “weakly” compatible. If the entire affiliation histories ofthe two records 30 are “weakly” compatible, the two records 30 aregrouped, IF ANY ONE OF steps 225, 230 or 235 is true. Therefore, thesoftware determines: 1) if the co-author list of the two records 30 is“weakly” compatible (step 225); or 2) if the author names of the tworecords 30 match “strongly” (step 230); or 3) if the entire affiliationprofile matches “strongly” (step 235).

If any one of steps 225, 230 or 235 is met, or held to be true, then thetwo records 30 can be grouped and processing terminates.

However, if none of steps 225, 230 or 235 are true, then in step 240 thesoftware checks to see if the keywords associated with each authorexceeds a certain threshold value. In a preferred embodiment of thepresent invention, threshold values are determined empirically, butalternative embodiments may use specifically defined threshold values.Keywords are words and phrases that aid in describing what the entityis. For example, in the case of a medical “expert profile,” keywords maybe medical words and phrases.

In step 240, if the keywords associated with each author do exceed theset value, then the two records 30 are grouped, IF ANY ONE of thefollowing rules holds: 1) the author names match “strongly” (step 230);or 2) the co-author list matches “weakly” (step 225). The analysisperformed in these two steps is the same as described above.

However, if none of steps 230 or 225 are true, then in step 245 thesoftware checks to see if there is a match of journal names associatedwith each author. If no journal names match, the two records 30 cannotbe grouped and the processing terminates.

If the journal names do match, then the two records 30 will be grouped,IF BOTH of the following rules holds: 1) if the author names are“strongly” compatible (step 230); and 2) if the article titles of allarticles authored by the author exceeds a defined threshold (step 250).

If BOTH steps 230 and 250 are met, then the two records 30 are groupedand the processing of the data continues on to the next stage. In allother cases, the two records 30 cannot be grouped and processingterminates for those two records 30.

In addition to the above-described grouping method 130, the presentinvention may use additional evidence for plausible groups byclassifying the records 30 into a pre-existing ontology that has beendefined to reflect the nature of the records 30 being assembled. As usedherein, “ontology” is a set of concepts—such as things, events, andrelations—that are specified in some way (such as specific naturallanguage) in order to create an agreed-upon vocabulary for exchanginginformation.

Grouping suggested by the ontological classification is used to modifythe grouping method 130 for more accurate determination of the groups.For example, a pre-existing ontological classification may be the MesHontology created by the National Library of Medicine or the UNSPSC(United Nations Standard Products and Services Code) ontology that isused to categorize and identify products and services.

In a preferred embodiment of the present invention, the ontologicalclassification stage is repeated at each cascade 170.

Referring to FIG. 9, the input to the assembler module 150 are thegroups as produced by the grouper module 130. Once matched groups havebeen created, the assembler module 150 then assembles the individualrecords in a group and creates new records. One feature of the presentinvention is that during this process, additional inferences are drawn aconsequence of the assembly. For example, the assembler module 150 maycreate a more complete affiliation history profile by combining theindividual affiliation records in a publication record. The presentinvention may also infer metadata relating to a particular author bycombining the keywords from the individual publication records.

A preferred embodiment of the assembler module 150 constructed accordingto the present invention posits canonical forms of fields 10 beingmerged. For example, if two authors being assembled had the names J. W.Smith, and John Smith, then the canonical name of the assembled authorwould become: John W. Smith. It will be appreciated that different field10 combining techniques are also used to merge specific fields 10. Forexample, in the case of generating canonical institutional names, a rulemight be to expand abbreviations. In this case, IBM is expanded toInternational Business Machines and that is determined to be thecanonical form.

In step 155, the records 30 in each group are assembled into a compositerecord. A composite record includes components from one or more records30. For example, the canonical citation illustrated in FIG. 2 is onetype of composite record. It will be appreciated that composite recordsmay take other forms, and include other types of data, depending on thetype of data being assembled.

In step 160, the software constructed according to the present inventioninfers additional metadata obtained from the assembly step 155. Asdefined above, metadata is new data that is about old data. The new datacontains new meaning, information or other knowledge about the old data.For example, all the publications by the same author may be assembled inorder to create an expert profile. New metadata inferred might be thecanonical name of the author, the affiliation history of the author, anypublications written by the author, etc.

In step 165, after any additional metadata is inferred, the assembledrecords 30 are either output for actual end use, or the records 30 maygo through another series of processing steps, or cascades 170. As shownin FIG. 3, one feature of the present invention is that the assembledrecords 165 may be reprocessed several times in a cascade 170. Oneembodiment of a cascade 170 constructed according to the presentinvention comprises the match scorer module 80, the grouper module 130,and the assembler module 150.

Generally, the cascade 170 is used to increase the quality of the dataassembly process. After a group of records 30 has made a “first pass”through the modules illustrated in FIG. 3, there may not have beenenough information to group and assemble all the records 30 thatactually should have been assembled. As a consequence of assembly, moreinformation may have been obtained to infer better matches.

For example, during the process of creating expert profiles, if thereare two expert profiles bearing the same name, the question as towhether these two experts are one-and-the-same is better answered whenother data is analyzed. The analysis may ask: which journals have theseexperts been published in; and what are the subject areas of theirpublications. Therefore, if the two assembled profiles have significantassembled data in common, subsequent cascades 170 can create anassembled record 165 that will contain more information than obtainedwith only one “pass” through the modules.

In a preferred embodiment of the present invention, at each succeedingcascade 170 step, the heuristics previously applied for matching fields10 are modified. Some heuristics are tightened while some heuristics arerelaxed. This is because as more and more records 30 have beenassembled, there is more information that allows the software of thepresent invention to determine which heuristics to apply and how toapply them.

For example, at each succeeding cascade 170, inferred data may suggestadditional matches between records 30 or fields 10. For example, if anauthor affiliation history has been created, whether two authors arecandidates for assembly can be determined from inspecting thecompatibility in time and affiliations of the individual author'saffiliation history.

In addition, during one embodiment of a cascade 170, the various valuethresholds as discussed above may be adjusted. By adjusting these valuethresholds, the quality of the data assembly is improved. Other valuesor thresholds may be adjusted, for example, the definition of “strong”or “weak” may be adjusted, which may result in higher quality dataassembly.

In addition, one embodiment of cascading, 170 may include the candidateset creator 70, as shown in FIG. 3. Generally, the number of cascades170, or cascade stages is dictated by the nature of the records 30 beingassembled. In some cases only one cascade 170 is sufficient and in othercases more than one cascade 170 is needed to properly assemble therecords 30. One feature of the present invention is that during thecascading process, the present invention may modify both the matchscorer module 80 and the grouping method 130. This is because as thecascades 170 progress, more information is obtained. The match scorermodule 80 and the grouping method 130 may be modified by introducing newmatching methods, new matching score evaluations, and new groupingrules.

For example, when an “expert profile” is being generated, a cascade 170may use different methods to score co-author matches and affiliationmatches. This is because the prior cascade 170 may have created a new,set of co-author names, and the cascade 170 may need to evaluate thematch scores 95 by looking at the new set of co-authors. The samesituation may occur with affiliation history profiles.

For example, when the present invention is constructing an “expertprofile,” the following may be considered at cascade 170 stage 1: (1)Are the author names compatible? The last names must be the same, andthe first names must be compatible (J is compatible with John, but Jimis not compatible with John). (2) Do the co-authors match? A match isascertained if the score exceeds a certain value, as described above.(3) Do the affiliation profiles match? In cascade 170 stage 1, thepresent invention would only determine whether the authors in questionhad the same affiliation. At a later stage in the cascade 170, thepresent invention may look at the entire chronological history todetermine where the two affiliation histories are compatible withrespect to affiliations and time. One feature of the present inventionis that it analyzes fields 10 in records 30 with respect to the date(s)that an author may be associated with a specific entity.

In a preferred embodiment of the present invention, the data in therecords 30 may be cascaded 170 about four or five times, to achieve thehighest-quality data assembly. Generally, the number of cascades 170 toapply is empirically determined. Usually, the present invention may haveachieved a very high quality data assembly after about four or fivecascades. The number of cascades 170 to apply can also be specificallydefined so as to stop cascading 170 when no new assembled records 165are being generated.

One feature of the present invention is that during a cascade 170,additional field 10 matching steps may be employed, or existing field 10matching scores 95 may be modified (match scores are discussed above inconnection with FIG. 6).

An example of using additional match scores 95 would be when a set ofkeywords are compiled for an author's expert profile in order todetermine matches between different authors. The set of keywords may nothave been usable at a first or second cascade 170. However, if theauthors in consideration now have a number of publication records, thenthe aggregate of all the keywords from the individual publications canbe used to determine a plausible match among the authors. In addition,different grouping rules may be used in succeeding cascade 170 stages.The rules might include the new field 10 match scores 95 introduced atthis cascade 170 stage or might use different threshold values tocompute match plausibility.

For example, different grouping rules employed in the grouping method130 during a cascade 170 may include: If the author names are compatiblebut the co-author and affiliation history do not indicate a strong match(and do not indicate a mismatch), then if the keyword match scoresexceed a specified value (only if the names are strictly compatible),then these two records 30 should be grouped. One rule for determiningname compatibility is that the first names must be equal and not justcompatible and middle names must be compatible.

One embodiment of the present invention may perform additional field 10analyses in the match score module 80 during succeeding cascades 170.For example, the field 10 analysis may include the following: 1) Ifother components of names are compatible, are middle names/initialscompatible? 2) What is the match score 95 of the affiliation profilewhere the expert was a first author? 3) What is the match score 95 ofthe affiliation profile where the expert was not a first author? 4) Whatis the match score 95 of the journals the experts write in? 5) What isthe match score 95 of abstracts of papers published by this expert? 6)What is the match score 95 of titles of papers published by this expert?

In addition, one embodiment of the present invention may performadditional field 10 analysis in the grouping method 130 duringsucceeding cascades 170. For example, the field 10 analysis may includethe following: If the names are compatible in all respects, then: 1) Ifthe affiliation profiles are compatible, and there are no gaps largerthan a specified number of years, indicate a match. 2) If the compositetitle match score exceeds a specified value, and the composite journalmatch scores exceed a specified value, then indicate a match. 3) If thecomposite journal match scores exceed a different (higher) specifiedvalue, then indicate a match. The values of the gaps are usuallyempirically determined, and the same holds for the title and journalmatch values.

Referring now to FIG. 10, another feature of the present invention isillustrated. The illustrated embodiment comprises an affiliation profilesoftware module 300. The affiliation profile module 300 generates anaffiliation history of an author. In a preferred embodiment, theaffiliation profile module 300 uses data from citation records. Examplesof citation records are illustrated in FIG. 11. In this example, eachrecord 30 represents a citation. Each record 30 may or may not be brokendown into fields 10 such as author names, article title, publicationname, page numbers, year, author affiliations, keywords etc. There mayalso exist a related collection of records 30 such as the referencedpublications themselves that have further information such as thearticle abstract and the text of the article itself. Citation recordsmay take other forms than those illustrated in FIG. 11, and other typesof data may be employed, such as patents, biographies and resumes.

This embodiment of the present invention assembles an expert profilethat is created by identifying which papers were authored by the sameunique author, while inferring new information about this particularexpert, such as the chronological affiliation history of the expert, thearea of expertise of the expert, the kind of organization the expert iscurrently in, the current location of the expert, etc. This type of“expert profile” is illustrated in FIG. 12. The present invention mayalso extract data from patent records and incorporate patent data in theexpert profile.

A preferred embodiment of an author's affiliation, history consists ofthe organization name, address, and the year(s) that the author was atthe organization. Other embodiments of the present invention assemblesprofiles such as institutional and product profiles.

As shown in FIG. 10, affiliation data comprising a number of citationrecords are provided. In step 305, the records 30 are “pair-wise”compared to determine if an affiliation match exists. An affiliationmatch is found if the addresses of both affiliations in the two records30 are compatible and the organization names are compatible. If the two“pair-wise” compared affiliations are a match, then they are groupedinto matched sets 310.

Organization name “compatibility” is determined in organization matchmodule 315. Organization match module 315 comprises a set of rules anduses a database of known variations of organization names 320. Forexample, IBM is compatible with International Business Machines and UCSan Diego, UCSD and University of California at San Diego are alsocompatible.

One rule employed by the organization match module 315 holds that ifaffiliation names are of sub-organizations, but the parent organizationsare compatible then consider the affiliation names to be a match. Forexample, IBM TJ Watson Research Center at Yorktown Heights in NY and IBMAlmaden Research Center at Almaden, Calif. are compatible because bothare sub-organizations within IBM.

In step 325, an affiliation profile entry is created for each matchedset 310. Preferably, an affiliation profile entry contains: 1) thestarting year and ending year of the author's employment with theorganization; 2) the canonical affiliation name; and 3) the actualaffiliation entry data. For example, an article written by an author in1990 while at IBM would result in an affiliation entry with 1990 as thevalue of the year field 10 and IBM as the value of the affiliation field10. The corresponding value of the affiliation profile entry will have1990 as the value of both the start and end year, International BusinessMachines as the value of the canonical affiliation name, and IBM as thevalue of the actual affiliation entry data field 10. It will beappreciated that affiliation, profile entries may include other types ofdata, such as the current location of the expert, the type of industrythe expert is employed in, other experts with similar skill sets, etc.

In step 330, the affiliation profile entries 325 are sorted by theirstart year. That is, the affiliation profile entries 325 are sorted bythe starting year of the author's employment with the organization.

In merge step 335, the affiliation profile entries 325 that arechronologically adjacent in time, and do not have a time gap greaterthan a predetermined threshold, are merged. For example, an affiliationprofile entry 325 having an author starting year at IBM of 1990 ismerged with an affiliation profile entry 325 having an author startingyear at IBM of 1992 to create a new affiliation profile entry 325 withstart year of 1990 and an end year of 1992.

In step 340, the canonical form of the two affiliations being merged iscreated. Other embodiments of the present invention may not alwaysinclude this step.

In step 345, the software queries if all possible merge steps 335 arecomplete. That is, merge step 335 is repeated for all the affiliationprofile entries 325 until no more merges can occur.

In step 350 the affiliation profile entries 325 are compared todetermine if any conflicts exist. In step 355, any affiliation profileentries 325 that conflict are suppressed. An example of a conflict iswhen an affiliation profile entry 325 overlaps with another affiliationprofile entry 325. An “overlapping” affiliation profile entry 325 occurswhen during the generation of affiliation profiles, the system generatesprofiles, that indicate that an expert was at two or more institutionsduring the same period of time.

One suppression rule employed by the present invention is to suppressthe affiliation profile entry 325 if the number of articles associatedwith an affiliation profile entry 325 is less than a predeterminedthreshold. Generally, the threshold values used in the present inventionare determined empirically. In this specific example, generally, if thenumber of articles in profiles exceeds the number of another profile bya factor of 2 or more, the present invention would suppress the latterprofile.

Another suppression rule employed by the present invention is todetermine whether the author was a non-primary author during the suspectperiod. If there are no mentions of the author in other publicationsduring the period in question, that affiliation profile is suppressed.

What remains at the end of the affiliation profile module 300 is acomplete affiliation history of an author. An example of a group ofcitation records 30 used to generate affiliation profile entries 325 areillustrated in FIG. 11, and a resulting complete affiliation history ofthe author is illustrated in FIG. 12. Thus, it is seen that a system andmethod for assembling records is provided. One skilled in the art willappreciate that the present invention can be practiced by other than theabove described embodiments, which are presented in this description forpurposes of illustration and not of limitation. The description andexamples set forth in this specification and associated drawings onlyset forth preferred embodiment(s) of the present invention. Thespecification and drawings are not intended to limit the exclusionaryscope of this patent document. Many designs other than theabove-described embodiments will fall within the literal and/or legalscope of the following claims, and the present invention is limited onlyby the claims that follow. It is noted that various equivalents for theparticular embodiments discussed in this description may practice theinvention as well.

1. A non-transitory computer readable medium having computer executableprogram code embodied thereon, the computer executable program codeconfigured to cause a computing device to label a field within a recordby: providing an unlabeled field; comparing the unlabeled field with alabeled field; identifying the labeled field within the unlabeled field;and assigning a same field label from the labeled field to the unlabeledfield, wherein the field label is a concept identifier from an ontology.2. The computer readable medium of claim 1, wherein the ontologycomprises the MesH ontology.
 3. The computer readable medium of claim 1,wherein the ontology comprises a set of concepts specified in aparticular way and used to categorize and identify products andservices.
 4. The computer readable medium of claim 1, wherein theontology includes concept identifiers for medical words and phrases. 5.The computer readable, medium of claim 1, wherein the label is assignedonly to a substring of the unlabeled field.
 6. The computer readablemedium of claim 1, wherein comparing the unlabeled field with thelabeled field comprises generating a match score that represents anamount of similarity between the unlabeled field and the labeled field.7. The computer readable medium of claim 6, wherein generating the matchscore comprises generating a numerical value for each of the unlabeledfield and the labeled field.
 8. The computer readable medium of claim 6,wherein the match score is generated by a model derived via machinelearning
 9. A non-transitory computer readable medium having computerexecutable program code embodied thereon, the computer executableprogram code configured to cause a computing device to create a newrecord by: providing a plurality of records, each record including atleast one field; comparing a field in a first record to at least oneother field in a second record; determining if the compared fieldscontain similar information; and grouping the records that contain thefields having the similar information.
 10. The computer readable mediumof claim 9, wherein the grouped records are assembled into a publicationprofile.
 11. The computer readable medium of claim 9, further comprisingrepeating any one of steps of: comparing a field in a first record to atleast one other field in a second record; determining if the comparedfields contain similar information; and grouping the records thatcontain the fields having the similar information
 12. The computerreadable medium of claim 9, wherein the grouped records are assembledinto a journal profile.
 13. The computer readable medium of claim 12,wherein the journal profile comprises information selected from thegroup consisting of: subject matter description, keywords,representative content, citations, and authors.
 14. The computerreadable medium of claim 9, wherein the step of grouping the recordsthat contain the fields having the similar information comprisesgrouping the records that contain the fields that are comprised of acommon set of entities.
 15. The computer readable medium of claim 9,wherein the step of grouping the records that contain the fields havingthe similar information comprises grouping the records that contain thefields that are comprised of a list of co-authors.
 16. The computerreadable medium of claim 9, further comprising the step of assemblingthe grouped records into an affiliation profile.
 17. The computerreadable medium of claim 9, further comprising the step assembling thegrouped records into an expert profile.
 18. The computer readable mediumof claim 9, further comprising the step of assembling the groupedrecords into a medical expert profile.
 19. The computer readable mediumof claim 9, further comprising the step of assembling the groupedrecords into a physician profile.
 20. The computer readable medium ofclaim 19, wherein the physician profile comprises information selectedfrom the group consisting of: affiliation history, area of expertise,and at least one related physician.